import { createStore, createLogger } from 'vuex'
import createPersistedstate from 'vuex-persistedstate'
import user from './modules/user'
import cart from './modules/cart'
import category from './modules/category'
// vue2 都是通过new 得来的   vue3 都是通过引用函数  再调用得来的
export default createStore({
  // 数据
  state: {
  },
  // 类似于计算属性
  getters: {
  },
  // 改变state的唯一途径  通过commit提交
  mutations: {
  },
  // 支持异步操作 可以同时提交多个mutation
  actions: {
  },
  // 模块化
  modules: {
    user,
    cart,
    category
  },
  plugins: [
    createPersistedstate({
      key: 'erabbit-client-pc-store',
      paths: ['user', 'cart']
    }),
    createLogger()
  ]
})
